#pragma once
#ifndef ELEMENT_H
#define ELEMENT_H

#ifndef NOSTDAFX
#include "StdAfx.h"
#endif
#include "DynamicData.h"
#include "Vlare.h"

class Vlare::Element
{
	ElementMemberMap m_values;
	// TODO: public strenger machen. Vlare zu friend machen 
public:
	// Tree part
	Element* pNext;
	Element* pChildren;
	Element* pParent;


	CostumeMatrix* pMat;
	CostumeRenderData* pDat;

	Element(Element* const pParent, const ElementMemberMap props = ElementMemberMap());
	~Element(void);

	Hook& operator[](const char* const i);
	const Hook& operator[](const char* const i) const;
};

#endif
